1. Field of the Invention
The present invention relates to an image processing apparatus for calculating the colors of pixels and writing values thereof into a memory and a method of the same.
2. Description of the Related Art
In the past, in the field of three-dimensional computer graphics, the general practice has been to express and draw an object by surfaces.
Contrary to this, in recent years, the technique of “point rendering” which regards an object as a collection of points and draws points z-sorted in advance as semi-transparent circles having certain sizes on a screen has been proposed.
When points are located sufficiently close to each other, it is possible to use this point rendering to generate graphics without gaps.
This technique can be used also for generation of general opaque surface objects as well, but it particularly suitable for expressing soft objects having semi-transparent elements such as a gas or fur.
When trying to express this by conventional hardware, a high pixel fill rate including semi-transparent processing becomes necessary.
In general, however, an image processing system equipped with an external frame memory is restricted in the number of pixels which it can read from or write into the frame memory due to the constraint of the memory band width. Therefore, it is difficult to raise the pixel fill rate.
Even when using an internal frame memory, it is difficult to increase the number of digital differential analyzer (DDA) or setup/drawing circuits due to the constraint of the chip area. Therefore, the number of generated pixels is restricted due to the constraint of the amount of pixel processing and it is difficult to raise the pixel fill rate.
Furthermore, when expressing an object having semi-transparent elements such as fur by conventional hardware, it may be considered to write the radii of the circles along with color information into the memory and use these for filtering.
When using the technique of holding color information and the radii of circles in the memory and using these for filtering, however, it becomes difficult to express circles not fitting the grid.
By managing the memory by units smaller than pixels, circles not fitting the grid can be expressed, but the size of the required memory would end up increasing along with this.
Also, generally, filtering is suitable when processing the entire screen. For this reason, there are cases where pixels inherently not requiring filtering will be processed, so wasteful memory access will occur.